Re: darwin pgsql patches - Mailing list pgsql-patches

From Peter Bierman
Subject Re: darwin pgsql patches
Date
Msg-id v03130314b64cb73aa755@[17.202.21.230]
Whole thread Raw
In response to Re: darwin pgsql patches  (Peter Eisentraut <peter_e@gmx.net>)
List pgsql-patches
At 5:30 PM +0100 11/29/00, Peter Eisentraut wrote:
>Peter Bierman writes:
>
>> Here are patches to CVS top of tree that allow darwin to completely
>> build and install. Unfortunately, the sem...() shim does not function
>> correctly yet, so it's not stable enough to use.
>
>We've been through this before.  Newer Darwin kernels have semaphore
>support, which means that you'll at least have to compensate for that.  I
>believe we agreed that semaphore support for older kernels would be
>available as a patch.

I just talked to the kernel engineer, and semctl & friends will not be in darwin anytime soon.

The current Darwin kernel supports the sem_* functions, but not sem_init and sem_destroy (unnamed BSD semaphores).
sem_openand sem_close work though. I plan to change the qnx shim code to use named semaphores, and with luck, we'll be
offto the races. ;-) 


I still don't quite know what to do about:

>> +#if defined(darwin)
>> +#include "../backend/port/darwin/sem.h"
>> +#endif
>
>This doesn't work.  There's no guarantee that the source tree is the same
>as the build tree.

I'm guessing qnx4 doesn't have this problem because they have a <sys/sem.h>, just no implementation.

I could put the contents in os.h, though that feels wrong.
I could add a CFLAGS+=-Isrc/backend/port/darwin/ either to the affected file's parent directory makefiles, or in
template/darwin.

Suggestions?

-pmb

--
bierman@apple.com

"4 out of 5 people with the wrong hardware want to run Mac OS X because..."
http://www.newertech.com/oscompatibility/osxinfo.html



pgsql-patches by date:

Previous
From: Peter Bierman
Date:
Subject: Re: darwin pgsql patches
Next
From: Thomas Lockhart
Date:
Subject: Re: darwin pgsql patches